今天宠物迷的小编给各位宠物饲养爱好者分享设置页面缓存的宠物知识,其中也会对如何给html网页设置缓存(如何给html网页设置缓存文件)进行专业的解释,如果能碰巧解决你现在面临的宠物相关问题,别忘了关注本站哦,现在我们开始吧!
在Apache环境下,可以通过在.htaccess文件中添加下面的代码,设置图片的HTTP缓存和有效期(需要开启apache的headers模块支持):
# Image and Flash content Caching for ONE Year blog.gimhoy***m Header set Cache-Control "max-age=3156000"
其中max-age后面这个数字就是设置的缓存有效期(以秒为单位),比如上面的代码设置了网站的图片使用为期一年(3156000秒)的HTTP缓存。
在Nginx下,可以通过修改nginx***nf配置文件,来修改缓存设置:
location ~* \.(flv|gif|jpg|jpeg|png|ico|swf)$ { expires 1y; access_log off; break; }
同样的方法,你也可以给js和css文件设置缓存。
主要是在需要缓存的路径加proxy_cache,而后端动态页面也需要做相应的处理,否则无法被nginx缓存。(或者nginx配置处加上proxy_ignore_headers) 检测到是代理服务器访问的时候,给动态页面加上和静态页面一致的头部信息,例如: ETag:"1febdd4429cfcd1:0" Last-Modified:Fri,30Nov201218:34:01 GMT 让代理服务器感觉不到是动态的内容。这种方式最好缓存的是没有访问权限控制的动态页面。
如何清除浏览器缓存
cache的路径和容量在浏览器设置的,和html无关,html最多请求要不要缓存
cache-control:||no-cache||no-store||max-age
1.no-cache:
表面意为“数据内容不被缓存”,而实际数据是被缓存到本地的,只是每次请求时候直接绕过缓存这一环节直接向服务器请求最新资源,由于浏览器解释不一样,
例如ie中我们设置了no-cache之后,请求虽然不会直接使用缓存,但是还会用缓存数据与服务器数据进行一致性检测(也就是说还是有几率会用到缓存的),
firefox中则完全无视no-cache存在,详细解释见no-store;
2.no-store:
指示缓存不存储此次请求的响应部分。与no-cache比较来说,一个是不用缓存,一个是不存储缓存;按理来说这个设置更加粗暴直接禁用缓存,
但是具体实现起来 浏览器之间差异却特别大,一般不会直接用该字段进行设置,不过no-store是为了防止缓存被恶意修改存储路径导致信息被泄露而设置的,
毕竟有它的用处,在firefox中实现缓存是通过文件另存为将缓存副本保存到本地,直接利用no-cache对其是无效的,如果加上no-store设置的话 则可以起到与no-cache一样的效果;
即:cache-control:no-cache,no-store;可以确保在支持http1.1版本中各大浏览器回车后退刷新无缓存;
再加上Pragma: no-cache设置兼容版本1.0即可(不过为了防止一致性检测时候的万一我们还是最好加上一致性检测的内容,如下所示几种方式);
3.max-age:
例如Cache-control: max-age=3;表示此次请求成功后3秒之内发送同样请求不会去服务器重新请求,而是使用本地缓存;同样我们如果设置max-age=0表示立即抛弃缓存直接发送请求到服务器
**论坛后台,全局 - 性能优化 - 缓存
本文由宠物迷 百科常识栏目发布,非常欢迎各位朋友分享到个人朋友圈,但转载请说明文章出处“如何给html网页设置缓存”
上一篇
dnf徽章怎么镶嵌神器武器
下一篇
花胶的正确炖法和吃法?